package com.lhkj.ct.meta.modules.psychology.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lhkj.ct.base.model.dto.PageQuery;
import com.lhkj.ct.base.mybatis.extension.service.IPageService;
import com.lhkj.ct.base.mybatis.extension.service.IService;
import com.lhkj.ct.meta.modules.psychology.model.entity.TblScaleReport;
import com.lhkj.ct.meta.modules.psychology.model.vo.EvaluationHistoryVo;
import com.lhkj.ct.meta.modules.psychology.model.vo.PersonalReportInfo;

import java.util.List;

/**
 * <p>
 * 测验报告 服务类
 * </p>
 *
 * @author jobob
 * @since 2023-10-16
 */
public interface ScaleReportService extends IService<TblScaleReport>, IPageService<TblScaleReport> {

    /**
     * 测验报告分页
     * @param report
     * @param pageQuery
     * @return
     */
    IPage<TblScaleReport> selectReportPage(TblScaleReport report, PageQuery pageQuery);

    /**
     * 测验报告分页
     * @param report
     * @param pageQuery
     * @return
     */
    IPage<TblScaleReport> selectReportPageByPatient(TblScaleReport report, PageQuery pageQuery);

    /**
     * 查询用户测评历史
     * @param patId
     * @return
     */
    List<EvaluationHistoryVo> selectHistoriesByUser(String patId);

    /**
     * 查看报告
     * @param reportId
     * @return
     */
    PersonalReportInfo getReportInfo(String reportId);

    /**
     * 审核报告
     * @param rId
     * @return
     */
    boolean review(String rId);

    /**
     * 发布报告
     * @param ids
     * @return
     */
    int publish(List<String> ids);

    /**
     * 导出word
     * @param rId
     */
    void exportWord(String rId);

    /**
     * 导出pdf
     * @param rId
     */
    void exportPdf(String rId);
}
